Revert "aarch32: Apply workaround for errata 813419 of Cortex-A57"
authorAntonio Nino Diaz <[email protected]>
Thu, 22 Nov 2018 15:38:05 +0000 (15:38 +0000)
committerAntonio Nino Diaz <[email protected]>
Thu, 22 Nov 2018 15:54:58 +0000 (15:54 +0000)
This reverts commit 6f512a3dfd61662dbdae4912fb6a320ae4d754d5.

According to the 'Cortex-A57 MPCore Software Developers Errata Notice':

    This bug will only affect secure AArch64 EL3. If the above
    conditions occur, the CPU will not invalidate the targeted EL3 TLB
    entries and incorrect translations might occur.

For this reason it is not needed in AArch32.

Change-Id: I6f7b333817515499723e8f306145790ad6af9975
Signed-off-by: Antonio Nino Diaz <[email protected]>
include/lib/aarch32/arch_helpers.h

index 03f0e869b967913d78b8dead573bc1d43c258a4f..1f69bb2b7dbefd9f18ac200331d7b39453e56ec4 100644 (file)
@@ -101,30 +101,15 @@ static inline void write_ ## _name(const u_register_t v)          \
  * Macros to create inline functions for tlbi operations
  *********************************************************************/
 
-#if ERRATA_A57_813419
-/*
- * Define function for TLBI instruction with type specifier that
- * implements the workaround for errata 813419 of Cortex-A57
- */
 #define _DEFINE_TLBIOP_FUNC(_op, coproc, opc1, CRn, CRm, opc2)         \
 static inline void tlbi##_op(void)                                     \
 {                                                                      \
        u_register_t v = 0;                                             \
        __asm__ volatile ("mcr "#coproc","#opc1",%0,"#CRn","#CRm","#opc2 : : "r" (v));\
-       __asm__ volatile ("dsb ish");\
-       __asm__ volatile ("mcr "#coproc","#opc1",%0,"#CRn","#CRm","#opc2 : : "r" (v));\
 }
 
-#define _DEFINE_TLBIOP_PARAM_FUNC(_op, coproc, opc1, CRn, CRm, opc2)   \
-static inline void tlbi##_op(u_register_t v)                           \
-{                                                                      \
-       __asm__ volatile ("mcr "#coproc","#opc1",%0,"#CRn","#CRm","#opc2 : : "r" (v));\
-       __asm__ volatile ("dsb ish");\
-       __asm__ volatile ("mcr "#coproc","#opc1",%0,"#CRn","#CRm","#opc2 : : "r" (v));\
-}
-#else
-#define _DEFINE_TLBIOP_FUNC(_op, coproc, opc1, CRn, CRm, opc2)         \
-static inline void tlbi##_op(void)                                     \
+#define _DEFINE_BPIOP_FUNC(_op, coproc, opc1, CRn, CRm, opc2)          \
+static inline void bpi##_op(void)                                      \
 {                                                                      \
        u_register_t v = 0;                                             \
        __asm__ volatile ("mcr "#coproc","#opc1",%0,"#CRn","#CRm","#opc2 : : "r" (v));\
@@ -135,14 +120,6 @@ static inline void tlbi##_op(u_register_t v)                               \
 {                                                                      \
        __asm__ volatile ("mcr "#coproc","#opc1",%0,"#CRn","#CRm","#opc2 : : "r" (v));\
 }
-#endif /* ERRATA_A57_813419 */
-
-#define _DEFINE_BPIOP_FUNC(_op, coproc, opc1, CRn, CRm, opc2)          \
-static inline void bpi##_op(void)                                      \
-{                                                                      \
-       u_register_t v = 0;                                             \
-       __asm__ volatile ("mcr "#coproc","#opc1",%0,"#CRn","#CRm","#opc2 : : "r" (v));\
-}
 
 /* Define function for simple TLBI operation */
 #define DEFINE_TLBIOP_FUNC(_op, ...)                                   \